﻿// --------------------------------------------------------------------------------------------------------------------
// <copyright file="IOpenFileView.cs" company="">
//   
// </copyright>
// <summary>
//   The OpenFileView interface.
// </summary>
// --------------------------------------------------------------------------------------------------------------------

namespace Libium.Views
{
    using System;

    using Libium.Core;

    /// <summary>
    ///   The OpenFileView interface.
    /// </summary>
    public interface IOpenFileView : IView
    {
        #region Public Events

        /// <summary>
        ///   The file ok.
        /// </summary>
        event Action FileOk;

        #endregion

        #region Public Properties

        /// <summary>
        ///   Gets the file path.
        /// </summary>
        string FilePath { get; }

        /// <summary>
        ///   Gets or sets the filter index.
        /// </summary>
        int FilterIndex { get; set; }

        /// <summary>
        ///   Gets or sets the filters.
        /// </summary>
        FileFilter[] Filters { get; set; }

        /// <summary>
        ///   Gets or sets the initial directory path.
        /// </summary>
        string InitialDirectoryPath { get; set; }

        #endregion
    }
}